/*
 * ArrayList
 */
#ifndef LC_ARRAY_H
#define LC_ARRAY_H

typedef struct LCarray LCarray;

struct LCarray
{
    void **     memory;
    size_t      allocated;
    size_t      used;
    int         index;
} ;


LCarray*  lcArrayCreate();
int     lcArrayAdd(LCarray *array, void *data);
int     lcArrayLength(LCarray *array);
void    lcArrayClear(LCarray *array);
void    lcArrayFree(LCarray *array);
void*   lcArrayGet(LCarray *array, int index);
void    lcArraySet(LCarray *array, int index, void *data);
void*   lcArrayRemove(LCarray *array, int index);
#endif /* LC_ARRAY_H*/
